package com.service.impl;

import com.dao.CartDao;
import com.dao.impl.CartDaoImpl;
import com.pojo.CartItem;
import com.service.CartService;

import java.sql.SQLException;
import java.util.List;

public class CartServiceImpl implements CartService {

    private CartDao cartDao=new CartDaoImpl();

    @Override
    public void addCart(String goodId, long uid, int num) throws SQLException {

        //添加真的是添加吗?
        //经过我们测试,我们发现实际的情况应该是如果当前用户没有添加过这个商品到购物车,那么就是添加,如果添加过就是更新
        //包括商品可能会有限购,还有可能商品数量不足以够你添加的数量,还有可能你添加的时候数量是够的,等后面在看的时候数量不够了怎么显示
        //先进行数据的校验

        //首先查询数据库,看看当前用户有没有添加这个商品
        Long count = cartDao.findCountByUidAndPid(goodId, uid);
        if(count>0){
            //如果有就更新数量
            cartDao.updateNum(goodId, uid, num);
        }else{
            //如果没有 就添加新数据
            cartDao.addCart(goodId, uid, num);
        }

    }

    @Override
    public List<CartItem> findCartByUid(long uid) {
        return cartDao.findCartByUid(uid);
    }

    @Override
    public void deleteCart(Long id) {

        cartDao.deleteCart(id);
    }
}
